package com.micolor.logr.runtime.interfaces;


import com.micolor.logr.runtime.entity.LogFieldEnum;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * @author EvanGe
 * @Type LogFieldEnumInitInterface.java
 * @Desc 枚举获取集合类规范性接口 <br>
 * 所有在配置文件中logr.enums.initCls配置项指定的类必须实现该接口。
 * @date 2024/7/3 14:48
 */
@Component
public interface LogFieldEnumInitInterface {
    /**
     * 获取枚举类型定义的数据集合
     * @param enumTypeOrParam 枚举类型或者枚举参数
     *
     * @return
     * 返回内容受到属性注解enumPrecision的设置影响，<br>
     * 当属性注解enumPrecision为true时： 返回元素不操作1个的列表 <br>
     * 当属性注解enumPrecision为false时： 返回多个元素列表 <br>
     */
    public List<LogFieldEnum> getLogFieldEnum(Object enumTypeOrParam);
}
